package com.sxj.corejava.code05_方法;

/**
 * @author 石小俊
 * @date 2024年03月09日 8:38
 */
public class Test01_定义方法 {

    // 此处可以定义方法
    // 修饰符 返回值类型 方法名(参数列表){方法体}
    public static void test() {
        System.out.println("测试方法");
    }

    // main方法也是一个特殊的方法
    // 该方法在程序运行时,由JVM自动调用的一个方法
    // 其他方法想要被调用,最终必须在main方法中进行调用
    public static void main(String[] args) {
//        System.out.println("*************调用当前类中的方法*************");
//        // 方法名(参数列表)
////        test();
//        // 在调用方法时,参数列表中使用的是实参
//        // 实参:实际参数,调用方法时传入的具体的参数的值
//        // 相当于变量的赋值
//        // 当方法有返回值时,可以将方法的返回值赋值给一个变量
//        // 此处相当于将sum方法的返回值3赋值给声明的变量sum
//        // 下面代码相当于int sum = 3;
//        int sum = sum(1,2);
//        System.out.println(sum);
//
//        System.out.println(isAdult(20));;
        test02();

//        System.out.println("*************调用其他类中的方法*************");
//        // 类名.方法名(参数列表)
//        SomeClass.show();
    }

    // 此处可以定义方法
    // 在方法定义时,参数列表中使用的是形参
    // 形参:形式参数,相当于变量的声明
    public static int sum(int i, int j) {
        test();
        System.out.println("参数i的值:"+i);
        System.out.println("参数j的值:"+j);
        // 当方法存在返回值时
        // 在方法体逻辑上的最后一行必须通过return xxx表示该方法返回什么
        // xxx的值的类型必须与当前方法返回值的类型一致
        return i + j;
    }

    public static String isAdult(int age){
        if(age < 18){
            return "您尚未成年";
        } else{
            return "您已经成年了";
        }
    }


    public static void test02(){
        for(int i = 1; i < 6; i++){
            if(i % 5 == 0){
                System.out.println("这是5的倍数");
                // 在无返回值的方法中也可以使用return关键字
                // 此时的return关键字后面不需要跟任何内容,直接写return即可
                // 表示整个方法结束
                return;
                // 在return关键字后面不能存在任何代码
                // System.out.println("xx");
            }
            System.out.println(i);
        }
        System.out.println("这是for循环后面的代码");
    }

}
